Machine vision systems are commonly used in industry for high speed inspections. In particular, these systems are used to obtain digital images of objects in order to determine, with a computer, whether the object is of "acceptable" quality with respect to predetermined specifications. For example, a system may inspect a semiconductor chip package to determine whether each of the leads of the package has the proper dimension. A system may also inspect for coplanarity of solder balls on ball grid arrays.
Patterns such as bar codes and data codes are also imaged by such systems. Images of these patterns are analyzed by a computer in order to "read" the information represented by these codes.
In a machine vision system, an object (or pattern) is typically imaged by scanning the object with a light source and capturing the light reflected from the object with a video camera (i.e., a photodetector). A digital image is formed from the image received by the camera and the digital data is analyzed by a computer in order to determine characteristics of the object or pattern.
FIG. 1 illustrates a scan pattern of a typical machine vision system scanning an object (e.g., ball grid array 130). A gantry (not shown) supporting an optical system (including a laser light source) moves at a constant rate along (or parallel to) the X-axis. A laser beam is swept at a constant rate (using, for example, a single acousto-optic deflector) in a direction parallel to the Y-axis (and orthogonal to the X-axis). As a result, the scan lines (a-b and c-d) are parallel to each other. However, the scan lines are not orthogonal to the X-axis due to the motion of the gantry. Accordingly, portions of object features are not scanned adequately. As shown in FIG. 1, for example, while the left portion of object feature 101 is scanned, the corresponding portion of object feature 102 is not scanned. Accordingly, data related to the object feature 102 may be incomplete.
Moreover, in the system illustrated in FIG. 1, each spot of reflected light is collected from each point along the entire length of each scan line. Data points related to the light reflected from each point are processed and stored. Data points which include no information about the object features (such as along scan line e-f) are also collected.